package cn.demoncat.util.pay.cmbc.entity;

import lombok.Data;

/**
 * 民生银行银企直连-响应参数-转账查询
 *
 * @author 延晓磊
 * @since 2021年12月28日
 */
@Data
public class QryXferResponseParam extends ResponseParam {

    /**
     * 响应体
     */
    private Body xDataBody;

    /**
     * 响应体
     */
    @Data
    public static class Body{

        /**
         * 转账状态
         */
        private StatusId statusId;

        /**
         * 转账状态
         */
        @Data
        public static class StatusId{
            /**
             * 状态码：0交易成功，2交易失败，3交易状态未知，4交易处理中，7查询失败（自定义）
             */
            private String statusCode;
            /**
             * 描述信息
             */
            private String statusErrMsg;

            /**
             * 查询失败
             *
             * @param msg
             * @return
             */
            public static StatusId error(String msg){
                StatusId status = new StatusId();
                status.setStatusCode("7");
                status.setStatusErrMsg(msg);
                return status;
            }

            /**
             * 是否成功
             *
             * @return
             */
            public boolean isSuccess(){
                return ResponseParam.ResponseHeader.Status.SUCCESS_CODE.equals(this.getStatusCode());
            }

            /**
             * 是否失败
             *
             * @return
             */
            public boolean isError(){
                return "2".equals(this.getStatusCode()) || "7".equals(this.getStatusCode());
            }

            /**
             * 是否处理中
             *
             * @return
             */
            public boolean isProcess(){
                return "3".equals(this.getStatusCode()) || "4".equals(this.getStatusCode());
            }
        }

    }

}
